<?php

class Autenticacao extends CI_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {
        $this->load->view('auntenticacao');
    }

    public function cadastro() {
        $this->load->model("Categoria_model");
        $nome = $this->input->post("ip_nome");
        $login = $this->input->post("ip_login");
        $senha = $this->input->post("ip_senha");
        $senhaConfirma = $this->input->post("ip_confirmaSenha");
        $email = $this->input->post("ip_email");
        $categoria = $this->Categoria_model->getByDescription("Cliente");

        $data['nome'] = $nome;
        $data['login'] = $login;
        $data['email'] = $email;
        $validacao = true;

        if ($senha != $senhaConfirma) {
            $validacao = false;
            $data["type"] = "alert-danger";
            $data["message"] = "As senhas não são correspondentes";
            $this->load->view('auntenticacao', $data);
        }
        if (!$this->Usuario_model->validarLogin($login)) {
            $validacao = false;
            $data["type"] = "alert-danger";
            $data["message"] = "O login inválido";
            $this->load->view('auntenticacao', $data);
        }
        if ($validacao) {
            $user = array(
                'usu_nome' => $nome,
                'usu_login' => $login,
                'usu_senha' => md5($senha),
                'usu_email' => $email,
                'usu_categoria_id' => $categoria->cat_id);
            if ($this->Usuario_model->insert($user)) {
                if ($this->Autenticacao_model->autenticar($login, md5($senha))) {
                    redirect(base_url() . 'cliente/cliente');
                } else {
                    $data["type"] = "alert-danger";
                    $data["message"] = "Não foi possivel realizar a aunteticação após o seu cadastro.";
                    $this->load->view('auntenticacao', $data);
                }
            } else {
                $data["type"] = "alert-danger";
                $data["message"] = "Cadastro negado!";
                $this->load->view('auntenticacao', $data);
            }
        }
    }

    public function login() {
        $login = $this->input->post("ip_login");
        $senha = $this->input->post("ip_senha");
        if ($this->Autenticacao_model->autenticar($login, md5($senha))) {            
            $this->Autenticacao_model->setMessageSuccess("Seja bem vindo");
            $this->Autenticacao_model->redirectCurrectMenu();
        } else {
            $data["type"] = "alert-danger";
            $data["message"] = "Login ou senha inválidos";
            $this->load->view('auntenticacao', $data);
        }
    }

    public function logoff() {
        $this->Autenticacao_model->logoff();
        redirect(base_url());
    }

    public function acessonegado() {
        $this->load->view('acessonegado');
    }
}
